package main.链表;

import common.ListNode;

import java.util.ArrayList;
import java.util.List;

/**
 * @author tmh
 * @date 2024/7/18 21:44
 * @description
 */
public class T234回文链表 {
    /**
     * 很直观的思路，链表转集合，然后进行双指针操作
     * @param head
     * @return
     */
    public boolean isPalindrome(ListNode head) {
        //计算链表的长度
        ListNode p = head;
        List<Integer> list =new ArrayList<>();
        while (p != null) {
            list.add(p.val);
            p=p.next;
        }
        int len =list.size();
        boolean flag=true;
        for (int i = 0, j = len - 1; i < j; i++, j--) {
            if(!list.get(i).equals(list.get(j))){
                flag=false;
                break;
            }
        }
        return flag;
    }
}
